package com.ureport.test.test;

import com.sun.istack.internal.Nullable;
import com.ureport.test.model.Controller;
import com.ureport.test.model.User;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


@Component
public class DataSourceBean {

    /**
     * 第一种：返回Map集合
     *
     * @param dsName
     * @param dataSetName
     * @param parameters
     * @return
     */
    public List<Map<String, Object>> loadReportData(String dsName, String dataSetName, Map<String, Object> parameters) {
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

        Map<String, Object> m1 = new HashMap<String, Object>();
        m1.put("id",1);
        m1.put("name","a");
        m1.put("age",2);
        list.add(m1);

        Map<String, Object> m2 = new HashMap<String, Object>();
        m2.put("id",2);
        m2.put("name","b");
        m2.put("age",3);
        list.add(m2);
        return list;
    }

    /**
     * 第二种：返回对象集合
     *
     * @param dsName
     * @param datasetName
     * @param parameters
     * @return
     */
    public List<User> loadData(String dsName, String datasetName, Map<String, Object> parameters) {
        List<User> list = new ArrayList<User>();
        for (int i = 0; i < 10; i++) {
            User m = new User();
            m.setId(i);
            m.setName("username-:" + i);
            m.setAge(i + 1);
            list.add(m);
        }
        return list;
    }

    /**
     * 拼身元证明信息
     * @param dsName
     * @param datasetName
     * @param parameters
     * @return
     */
    public List<Map<String,Object>> loadPdf(@Nullable String dsName,@Nullable String datasetName,@Nullable Map<String, Object> parameters ){
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
//        Map<String,Object> map = new HashMap<String,Object>();
//        Controller c = new Controller();
        System.out.println(parameters);
//        map = c.test();
//        Controller c = new Controller();
//        Map<String, Object> map1 = c.test();
//
//        map.put("identityCode","410102199009090909");
//        map.put("identityIssueDate","2023-08-01");
//        map.put("firstPerson","崔樑");
//        map.put("othPersonCount","0");
//        map.put("agentCompanyName","杭州西湖假期国际旅行社有限公司");
//        map.put("applyReason","個人観光");
//        map.put("dateStr","2023年08月01日 ～ 2023年08月05日");

        list.add(parameters);
        return list;
    }
}
